package com.erp.erp_ui.TaskInfo.req;

import com.erp.erp_ui.warehouse.req.AddResourceSamplesDetailReq;
import org.hibernate.validator.constraints.NotEmpty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName : AddNewupTaskReq
 * @Description : 任务新增入参实体
 * @Author : lst
 * @Date: 2020-12-30 15:03
 */
public class AddNewupTaskReq {

    /**
     * 任务表ID
     */
    private Integer id;
    /**
     * 任务单号
     */
    @NotEmpty(message = "单号不能为空")
    private String taskno;

    /**
     * 任务新单号
     */
    private String newtaskno;

    /**
     * 客户ID
     */
    private Integer custid;

    /**
     * 客户编码
     */
    private String customerCode;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 联系人
     */
    private String linkman;

    /**
     * 联系人邮箱
     */
    private String linkmanEmail;

    /**
     * 客户合同号
     */
    private String customerCont;

    /**
     * 签约日期
     */
    private Date signeDate;

    /**
     * 签约公司ID
     */
    private Integer signeCompanyId;

    /**
     * 签约公司名称
     */
    private String signeCompany;

    /**
     * 签约公司编码
     */
    private String signeCompanyCode;

    /**
     * 银行ID
     */
    private Integer bankId;

    /**
     * 起运地ID
     */
    private Integer startplaceId;

    /**
     * 目的地ID
     */
    private Integer destinationId;

    /**
     * 币种(0 人民币 1美元)
     */
    private Integer moneykind;

    /**
     * 汇率
     */
    private BigDecimal exchangerate;

    /**
     * 美元汇率
     */
    private BigDecimal dollarRate;

    /**
     * 备货期限
     */
    private String stockupperiod;

    /**
     * 出运日期
     */
    private Date shdate;

    /**
     * 贸易方式
     */
    private String tradeway;

    /**
     * 运输方式
     */
    private String modetransportation;

    /**
     * 价格术语ID
     */
    private Integer pricetermsId;

    /**
     * 付款期限
     */
    private Date paymenttermDate;

    /**
     * 业务员名称
     */
    private String salesman;

    /**
     * 业务员编码
     */
    private String salesmanCode;

    /**
     * 业务员ID
     */
    private Integer salesmanId;

    /**
     * 业务模式ID
     */
    private Integer businessmodelId;

    /**
     * 充值占用
     */
    private Integer topupoccupy;

    /**
     * 是否报关
     */
    private Integer declaration;

    /**
     * 货柜型号
     */
    private String containertype;

    /**
     * 付款方式ID
     */
    private Integer termspaymentId;

    /**
     * 账期
     */
    private String paymentDay;

    /**
     * 客诉单号
     */
    private String customercomplaintnumber;

    /**
     * 操作员名称
     */
    private String theoperator;

    /**
     * 操作员编码
     */
    private String theoperatorCode;

    /**
     * 操作员ID
     */
    private Integer theoperatorId;

    /**
     * 预收款比例
     */
    private BigDecimal percentageadvancepayment;

    /**
     * 预收款金额
     */
    private BigDecimal amountreceivedadvance;

    /**
     * 合同总额
     */
    private BigDecimal totalamountcontract;

    /**
     * 状态(1.草稿箱 2.待批箱 3.已批箱 4.完成箱 5.垃圾箱)
     */
    private Integer status;

    /**
     * 备注
     */
    private String note;

    /**
     * 资源样品明细集合
     */
    private List<AddProductionReq> details;

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTaskno() {
        return taskno;
    }

    public void setTaskno(String taskno) {
        this.taskno = taskno;
    }

    public String getNewtaskno() {
        return newtaskno;
    }

    public void setNewtaskno(String newtaskno) {
        this.newtaskno = newtaskno;
    }

    public Integer getCustid() {
        return custid;
    }

    public void setCustid(Integer custid) {
        this.custid = custid;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getLinkman() {
        return linkman;
    }

    public void setLinkman(String linkman) {
        this.linkman = linkman;
    }

    public String getLinkmanEmail() {
        return linkmanEmail;
    }

    public void setLinkmanEmail(String linkmanEmail) {
        this.linkmanEmail = linkmanEmail;
    }

    public String getCustomerCont() {
        return customerCont;
    }

    public void setCustomerCont(String customerCont) {
        this.customerCont = customerCont;
    }

    public Date getSigneDate() {
        return signeDate;
    }

    public void setSigneDate(Date signeDate) {
        this.signeDate = signeDate;
    }

    public Integer getSigneCompanyId() {
        return signeCompanyId;
    }

    public void setSigneCompanyId(Integer signeCompanyId) {
        this.signeCompanyId = signeCompanyId;
    }

    public Integer getBankId() {
        return bankId;
    }

    public void setBankId(Integer bankId) {
        this.bankId = bankId;
    }

    public Integer getStartplaceId() {
        return startplaceId;
    }

    public void setStartplaceId(Integer startplaceId) {
        this.startplaceId = startplaceId;
    }

    public Integer getDestinationId() {
        return destinationId;
    }

    public void setDestinationId(Integer destinationId) {
        this.destinationId = destinationId;
    }

    public Integer getMoneykind() {
        return moneykind;
    }

    public void setMoneykind(Integer moneykind) {
        this.moneykind = moneykind;
    }

    public BigDecimal getExchangerate() {
        return exchangerate;
    }

    public void setExchangerate(BigDecimal exchangerate) {
        this.exchangerate = exchangerate;
    }

    public BigDecimal getDollarRate() {
        return dollarRate;
    }

    public void setDollarRate(BigDecimal dollarRate) {
        this.dollarRate = dollarRate;
    }

    public String getStockupperiod() {
        return stockupperiod;
    }

    public void setStockupperiod(String stockupperiod) {
        this.stockupperiod = stockupperiod;
    }

    public Date getShdate() {
        return shdate;
    }

    public void setShdate(Date shdate) {
        this.shdate = shdate;
    }

    public String getTradeway() {
        return tradeway;
    }

    public void setTradeway(String tradeway) {
        this.tradeway = tradeway;
    }

    public String getModetransportation() {
        return modetransportation;
    }

    public void setModetransportation(String modetransportation) {
        this.modetransportation = modetransportation;
    }

    public Integer getPricetermsId() {
        return pricetermsId;
    }

    public void setPricetermsId(Integer pricetermsId) {
        this.pricetermsId = pricetermsId;
    }

    public Date getPaymenttermDate() {
        return paymenttermDate;
    }

    public void setPaymenttermDate(Date paymenttermDate) {
        this.paymenttermDate = paymenttermDate;
    }

    public Integer getSalesmanId() {
        return salesmanId;
    }

    public void setSalesmanId(Integer salesmanId) {
        this.salesmanId = salesmanId;
    }

    public Integer getBusinessmodelId() {
        return businessmodelId;
    }

    public void setBusinessmodelId(Integer businessmodelId) {
        this.businessmodelId = businessmodelId;
    }

    public Integer getTopupoccupy() {
        return topupoccupy;
    }

    public void setTopupoccupy(Integer topupoccupy) {
        this.topupoccupy = topupoccupy;
    }

    public Integer getDeclaration() {
        return declaration;
    }

    public void setDeclaration(Integer declaration) {
        this.declaration = declaration;
    }

    public String getContainertype() {
        return containertype;
    }

    public void setContainertype(String containertype) {
        this.containertype = containertype;
    }

    public Integer getTermspaymentId() {
        return termspaymentId;
    }

    public void setTermspaymentId(Integer termspaymentId) {
        this.termspaymentId = termspaymentId;
    }

    public String getPaymentDay() {
        return paymentDay;
    }

    public void setPaymentDay(String paymentDay) {
        this.paymentDay = paymentDay;
    }

    public String getCustomercomplaintnumber() {
        return customercomplaintnumber;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public void setCustomercomplaintnumber(String customercomplaintnumber) {
        this.customercomplaintnumber = customercomplaintnumber;
    }

    public Integer getTheoperatorId() {
        return theoperatorId;
    }

    public void setTheoperatorId(Integer theoperatorId) {
        this.theoperatorId = theoperatorId;
    }

    public BigDecimal getPercentageadvancepayment() {
        return percentageadvancepayment;
    }

    public void setPercentageadvancepayment(BigDecimal percentageadvancepayment) {
        this.percentageadvancepayment = percentageadvancepayment;
    }

    public BigDecimal getAmountreceivedadvance() {
        return amountreceivedadvance;
    }

    public void setAmountreceivedadvance(BigDecimal amountreceivedadvance) {
        this.amountreceivedadvance = amountreceivedadvance;
    }

    public BigDecimal getTotalamountcontract() {
        return totalamountcontract;
    }

    public void setTotalamountcontract(BigDecimal totalamountcontract) {
        this.totalamountcontract = totalamountcontract;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public List<AddProductionReq> getDetails() {
        return details;
    }

    public void setDetails(List<AddProductionReq> details) {
        this.details = details;
    }

    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("ResourceSamplesEntity").append('[')
                .append("id=")
                .append(id)
                .append(",taskno=")
                .append(taskno)
                .append(",newtaskno=")
                .append(newtaskno)
                .append(",custid=")
                .append(custid)
                .append(",customerCode=")
                .append(customerCode)
                .append(",customerName=")
                .append(customerName)
                .append(",linkman=")
                .append(linkman)
                .append(",linkmanEmail=")
                .append(linkmanEmail)
                .append(",linkmanEmail=")
                .append(linkmanEmail)
                .append(",customerCont=")
                .append(customerCont)
                .append(",signeDate=")
                .append(signeDate)
                .append(",signeCompany=")
                .append(signeCompany)
                .append(",signeCompanyCode=")
                .append(signeCompanyCode)
                .append(",signeCompanyId=")
                .append(signeCompanyId)
                .append(",bankId=")
                .append(bankId)
                .append(",startplaceId=")
                .append(startplaceId)
                .append(",destinationId=")
                .append(destinationId)
                .append(",moneykind=")
                .append(moneykind)
                .append(",exchangerate=")
                .append(exchangerate)
                .append(",dollarRate=")
                .append(dollarRate)
                .append(",stockupperiod=")
                .append(stockupperiod)
                .append(",shdate=")
                .append(shdate)
                .append(",tradeway=")
                .append(tradeway)
                .append(",modetransportation=")
                .append(modetransportation)
                .append(",pricetermsId=")
                .append(pricetermsId)
                .append(",paymenttermDate=")
                .append(paymenttermDate)
                .append(",salesman=")
                .append(salesman)
                .append(",salesmanCode=")
                .append(salesmanCode)
                .append(",salesmanId=")
                .append(salesmanId)
                .append(",businessmodelId=")
                .append(businessmodelId)
                .append(",topupoccupy=")
                .append(topupoccupy)
                .append(",declaration=")
                .append(declaration)
                .append(",containertype=")
                .append(containertype)
                .append(",termspaymentId=")
                .append(termspaymentId)
                .append(",paymentDay=")
                .append(paymentDay)
                .append(",customercomplaintnumber=")
                .append(customercomplaintnumber)
                .append(",theoperator=")
                .append(theoperator)
                .append(",theoperatorCode=")
                .append(theoperatorCode)
                .append(",theoperatorId=")
                .append(theoperatorId)
                .append(",percentageadvancepayment=")
                .append(percentageadvancepayment)
                .append(",amountreceivedadvance=")
                .append(amountreceivedadvance)
                .append(",totalamountcontract=")
                .append(totalamountcontract)
                .append(",details=")
                .append(details)
                .append(",status=")
                .append(status)
                .append(",note=")
                .append(note)
                .append(']');
        return sb.toString();
    }
}
